Method for predicting maximal oxygen uptake in wearable devices

ABSTRACT

A method for predicting maximal oxygen uptake (VO2Max) in wearable devices with memory restriction using ensemble of machine learning algorithms is described. The method is related to the fields of well-being, healthcare and artificial intelligence, and includes a technique that predicts maximal oxygen uptake (VO2Max) in running sessions at different paces using wearable devices with memory restriction. The proposed method requires less than 5 KB of memory to run on a wearable device. Specifically, equipped of user&#39;s profile data (age, gender, height and weight), a set of heart rate (HR) and speed readings of a running session, the method is able to estimate VO2Max.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This application is based on and claims priority under 35 U.S.C. § 119 to Brazilian Patent Application No. 10 2020 026639 0, filed on Dec. 23, 2020, in the Brazilian Intellectual Property Office, the disclosure of which is incorporated by reference herein in its entirety.

TECHNICAL FIELD

The present invention relates to a health technology with application for estimating the cardiorespiratory fitness of users using wearable devices. More specifically, a method for predicting maximum oxygen consumption (VO2Max) in wearable devices with memory restriction using sets of machine learning algorithms is described.

BACKGROUND

Wearable devices are the main technology to help people improve their health and well-being by measuring and analyzing their biological signals captured using non-invasive sensors (for example, accelerometers and pulses of light). VO2Max is a necessary component to provide a complete healthcare package on wearable devices.

Different activities have different oxygen consumption and increasing the intensity of an activity results in more oxygen being consumed. In this sense, VO2Max is related to the VO2 achieved when oxygen consumption remains in a stable state, despite an increase in effort load.

For running activity, there are two relevant entries for determining workload intensity: speed and heart rate. Increasing the speed also increases the heart rate, as a body response to a particular stimulus. Depending on the individual's physical condition, both entries have different behaviors in time and variation. For example, individuals with better physical fitness will have higher speeds for longer and heart rate with less variation. In addition to these, other important entries are gender, age, weight and height.

Time series of speed and heart rate with information about the user make up a high dimension space where the most reliable regions to estimate the correct VO2Max must be found.

The main challenge in this technology is to be equally efficient with different types of people (for example, different genders, age groups and body masses). Therefore, the appropriate choice of algorithms is the way to improve this technology in order to cover a more heterogeneous population.

As the maximum oxygen consumption has become an important reference standard for cardiorespiratory fitness, researchers have been developing and registering studies of maximum protocols in order to improve the prediction of VO2Max value. These types of protocols, in general, directly measure gas exchange rates during an individual's breathing using reference equipment and high-intensity workloads, which is an expensive and physically exhausting exam for participants.

The complexity of direct measurements, as well as the excessive physical demands made on patients, led to the development of several indirect methods of estimating VO2Max based on submaximal protocols.

Consequently, many studies have emerged with a focus on VO2Max prediction from submaximal exercise protocols, which differ considerably according to the proposed exercise and stimulus. Some works use different submaximal protocols such as exercise bike, aerobic dance, futsal, treadmill, among others.

The use of different submaximal protocols can result in different values of VO2Max, since each exercise requires a different amount of muscle mass activation. In addition, some other initiatives attempt to estimate VO2Max using protocols that do not involve exercise. However, the present invention focuses on estimating VO2Max based on a running or walking exercise that can be done on a treadmill or in an outdoor environment.

US patent document 20110040193 entitled “Fitness Test”, published on Feb. 17, 2011, by FIRSTBEAT TECHNOLOGIES OY, describes a method having a pre-processing step to find “reliability segments”, excluding low reliability and then combining multiple segments to perform a weighted estimate of VO2Max from heart rate data, however, the method presented by this application uses a simpler pre-processing step based on signal variance and requires little memory to calculate the most reliable data. The other big difference is that the method of the present invention uses a machine learning set to estimate VO2Max, based on pattern detection to improve overall performance in different demographics. The present invention combines a simpler pre-processing step and a more powerful estimator, while being more applicable to the devices with memory restriction.

Patent document U.S. Pat. No. 9,517,028, published on Dec. 13, 2016, by FIRSTBEAT TECHNOLOGIES OY, describes a method for calculating the Anaerobic Threshold (AnT) from the heart rate signal. The main similarity with the present invention concerns the selection of heart rate segments with “most likely factors” and then computing the AnT of those segments. AnT has similar principles with VO2Max and is an average for assessing exercise intensity.

The main difference with the proposed method lies in the selection of points. U.S. Pat. No. 9,571,028 uses maximum probabilities with instantaneous variability as an output depending on the exercise, but the present invention uses minimal variance, having as output a fixed point during a certain period of days.

The article “Submaximal Treadmill Exercise Test to Predict VO2Max in Fit Adults”, published in December 2017 by P. Vehrs, J. George, G. Fellingham and S. Plowman & K. Dustman-Allen, describes a collection of data sets and a method to estimate VO2Max using linear regression. In the present application, a similar procedure was used to collect a data set and where there was a good fit. One of the models used in our machine learning set has characteristics similar to those used in the publication, but it is suitable for the data set of this application. The main differences of the present order for publication are: the combination of other machine learning models, a pre-processing to extract good data and an output processing to combine predictions of the same patient in multiple exercises over time.

The article “Artificial neural network-based model for predicting VO2Max”, published in March 2011, by M. Akay, E. Zayid, E. Aktürk & J. George, proposes a model based on artificial neural network to predict VO2Max from a submaximal treadmill exercise test. Although the present application also uses artificial neural networks, a combination of two neural networks is used herein, different inputs and criteria for obtaining temporal information, and a different architecture in terms of the number of neurons and their activation.

Real methods to accurately estimate maximum oxygen consumption (VO2Max) require expensive equipment, exhaustive exercise protocols and medical supervision. In this sense, we propose a method based on machine learning that estimates VO2Max from physical exercises at the user's own pace, using wearable devices or other devices with memory restrictions, requiring less than 5 KB of memory to function.

Maximum oxygen consumption is the maximum rate at which oxygen can be consumed by an individual. This rate is strongly related to the aerobic metabolism capacity of the human body, indicating the maximum capacity to synthesize energy in the presence of oxygen. VO2Max is achieved by intense exercises, so that any additional work after reaching it can only be done without the use of oxygen, that is, by anaerobic breathing.

VO2Max is a common fitness index for athletes. The higher its value, the more conditioned the athlete is. On the other hand, a low VO2Max value is associated with an increased risk of cardiovascular disease.

Gold standard methods for measuring VO2Max use complex cardiorespiratory devices to acquire gas exchange data. These involve measures of oxygen absorption in breathing (VO2), expiration of carbon dioxide (VCO2) and pulmonary ventilation during an increased physical workload to the maximum in a progressive exercise stimulus. To accurately measure the VO2Max value, the individual must meet some physical criteria when performing the maximum protocol. These criteria are:

-   -   minimum exercise duration;     -   reaching the maximum heart rate (with a tolerance of about 10         beats per minute);     -   reaching the Borg scale for muscle or breathing effort above 8         (scale from 1 to 10);     -   VO2 readings indicating the presence of a plateau;     -   the ratio between the CO2 output volume and the O2 input volume         (respiratory exchange ratio) is greater than 1.1.

However, this method of measuring VO2Max is expensive and requires too much physical effort, since the equipment to measure gas exchange is very expensive and the exercise protocol necessary to reach VO2Max requires a level of much more effort than a traditional exercise.

To get around this problem, a method is proposed to obtain a reasonably accurate prediction of VO2Max using much cheaper wearable devices while the individual does an exercise protocol with less physical effort.

SUMMARY

The present invention is related to the fields of well-being, health, and artificial intelligence. It includes a technique that predicts maximum oxygen consumption (VO2Max) in running sessions at different paces using wearable devices with memory restriction. The proposed method requires less than 5 KB of memory to run on a wearable device.

Specifically, in view of the user's profile data (age, gender, height and weight), a set of heart rate readings (Heart Rate, HR) and the speed of a running session, the proposed method is capable to estimate VO2Max.

In addition, the method performs light filtering of heart rate and speed signals using variance to select the most reliable data and a combination of light machine learning approaches, for example, linear regression and artificial multilayer Perceptron neural networks for detect patterns from these data and predict VO2Max.

It is worth noting that several forecasts are combined over time, thus obtaining a more reliable VO2Max prediction as more points and regions are considered.

The machine learning models were trained using a proprietary data set that allowed the understanding of the correlations between the VO2 information collected by professional equipment and information from wearable sensors.

In addition, this invention uses a machine learning set to estimate VO2Max, depending on pattern detection to improve overall performance in different demographics.

The method can obtain a reasonably accurate prediction of VO2Max using only data and sensors available on most smartwatches, such as profile data, heart rate (HR) based on photoplethysmography (PPG) sensor and computed speed using accelerometer sensors or libraries of the Global Positioning System (GPS). Another advantage is that the method does not require the maximum effort of a subject, allowing the user to run at the location of their choice and at the pace at which they are used to training. In addition, the method uses a combination of low memory features with lightweight machine learning approaches to make predictions, which require less than 5 KB of memory and are deployable on memory-constrained devices or even microcontrollers.

BRIEF DESCRIPTION OF THE DRAWINGS

The objectives and advantages of the present invention will be made clearer through the following detailed description of the example and non-limiting drawings presented at the end of this document.

FIG. 1 presents the flowchart for estimating VO2Max, in which the inputs of the machine learning approaches and the steps to display the prediction result are presented.

FIG. 2 illustrates a flow chart in more detail about the functioning of the proposed approach.

FIG. 3 shows how the stable features check works.

FIG. 4 shows an example of checking stable values.

FIG. 5 presents details of the display of the results of the algorithm to the user.

DETAILED DESCRIPTION

In FIG. 1, an overview of the operation of the method of the present invention is presented. First, user profile information 101 is provided, including age, gender, height and weight. Second, two time inputs are captured, composed of heart rate and speed readings 102, then divided into n-second time windows without overlap, which are processed by a feature extractor module 103. The feature extractor module includes finding points in the time series where heart rate and speed are more correlated with VO2Max.

To find these points of greatest correlation, regions are selected where the heart rate signal and speed have remained more stable.

In this sense, the signal stability is calculated using a threshold in the standard deviation of M minutes of the signal sampled at 1 Hz. As long as the standard deviation of the signal is less than the threshold, this region is classified as stable.

For each stable region, the point with the lowest standard deviation is selected, and the window containing it is used to calculate the average heart rate and speed as features. Finally, the profile data are concatenated to these averages as feature vectors 104.

These feature vectors are used as input to a set of machine learning models 105, such as linear regression and artificial multilayer Perceptron neural networks (MLP). While the user is running, each predicted value in the set is added to a prediction vector 106.

Based on some rules, such as minimum time to show VO2Max to the user, a prediction fusion module 107 uses a weighted sum in the prediction vector and provides a new VO2Max 108 prediction to be shown on the user's wearable device 109.

With information about VO2Max on the wearable device, the user can monitor their fitness status, improvements, and possible adaptations in their training.

In FIG. 2, the operation of the proposed method is illustrated in more detail. The last prediction shown to user 201, when available, is given to the initialization method 204. Its value, as well as the adopted coefficient and the timestamp of when the last exercise was performed, are used in the fusion module 107, represented by the average module weighted 210. User profile data 202, composed of age, gender, height, and weight, is required at startup 204, where preliminary calculations are performed, such as initializing inputs for regressors (207, 209) of the multilayer Perceptron artificial neural network (MLP) and the computation of the term independent of the linear regressor function (206).

In addition, profile data (for example, age, gender, height, and weight) is contained in the data batch that is used as exercise information. However, as the sensor data varies throughout the exercise, temporal data (203), such as heart rate (HR) and speed, are sampled at 1 Hz and divided into n-second windows.

In addition, some restrictions are set to check the minimum and maximum values expected for heart rate and speed in a running session, thus avoiding erroneous calculations resulting from a sensor reading error. In addition, verification 205 is performed, as the values are subject to noise in the warm-up and recovery stages of the exercise, causing a variation in these values that may not correspond to the user's general physical state.

Even if the heart rate is not stable, the method waits for the time data from the next n-second window.

When a stable interval is found, its most stable point is estimated and when reaching the end of this interval, a signal to make the prediction is defined and then a set of predictors are executed, as for example (but not limited) to them) linear regression 206 and the first MLP.

In order to reduce memory consumption and calculate the mean and standard deviation of the time series, instead of storing M minutes of the sampled signal at 1 Hz only the sum of the signal and the sum of the squared signal are used.

For example, considering that each window of temporal data has N seconds, the moving average x _(A→A+M) that is the average of the temporal signal with a sliding window of M seconds with a step of N seconds starting at the second A can be calculated using the following equation:

x _(A→A+M) =x _(A→A+N−1) +x _(A+N→A+2N−1) +x _(A+2N→A+3N−1) + . . . +x _(A+M−N+1→A+M)

where the mean of the time series x _(X→Y) from point X to point Y is defined as:

${\overset{\_}{x}}_{X\rightarrow Y} = {\frac{1}{Y - X + 1}{\underset{i = X}{\sum\limits^{Y}}x_{i}}}$

Using this representation, the moving average just storing M/N variables is also calculated.

To calculate the standard deviation, the following equation is expanded:

$\begin{matrix} {{{STD}\left( \overset{\rightarrow}{x} \right)} = {\left( {\frac{1}{M}{\sum\limits_{i = 1}^{M}\left( {x_{1} - \overset{\_}{x}} \right)^{2}}} \right)^{\frac{1}{2}} =}} \\ {= \left( {{\frac{1}{M}\overset{\_}{x^{2}}} - {\overset{\_}{x}}^{2}} \right)^{\frac{1}{2}}} \end{matrix}\left( {\frac{1}{M}\left( {{\sum\limits_{i = 1}^{M}x_{i}^{2}} - {2\overset{\_}{x}{\sum\limits_{i = 1}^{M}x_{i}}} + {M{\overset{\_}{x}}^{2}}} \right)} \right)^{\frac{1}{2}}$

Next, to calculate the standard deviation of the temporal signal with a sliding window of M seconds with a step of N seconds starting at the second A, the following equation is used:

${{STD}\left( x_{A\rightarrow{A\rightarrow M}} \right)} = \left( {{\frac{1}{M}{\overset{\_}{x^{2}}}_{A\rightarrow{A + M}}} - {\overset{\_}{x}}_{A\rightarrow{A + M}}^{2}} \right)^{\frac{1}{2}}$

wherein

x²A→A+M =x² _(A→A+N−1) + x² _(A+N→A+) 2N−1 +x² _(A+2N→A+3N−1) + . . . + x² _(A+M−N+1→A+M)

and the mean of the square time series from point X to point Y is defined as x² _(X→Y)

${\overset{\_}{x^{2}}}_{X\rightarrow Y} = {\frac{1}{Y - X + 1}{\sum\limits_{i = X}^{Y}x_{i}^{2}}}$

Using this representation, it is possible to calculate the moving standard deviation just by storing 2*M/N variables, where M/N came from x² _(A→A+M) and M/N from x _(A→A+M).

Linear regression (206) is proposed based on a feature engineering process to select the entries considering the tradeoffs between performance and memory constraints and a cross-validation approach to define the coefficient for each entry.

Among the evaluated entries, the extended features and some combinations of them, the following six entries were used for the linear regression: heart rate, speed, age, gender, weight and the ratio between HR and speed (HR/S). The relationship between HR and speed allows us to contemplate the relationship between stimulus (speed) and response (HR) at different times of the exercise, which together with the filtering of the stabilization method brings more confidence and robustness in the prediction.

After selecting the inputs for linear regression, a linear least squares model is trained. The training set is divided into a new training and validation subset, and a linear model with coefficients for each entry is assembled in order to minimize the residual sum of squares between the VO2Max ground truth of the validation set and the values predicted by the approximation. linear. The best approximation was found using a regressor that used a subset of selected entries (age, gender, speed, weight and heart rate), and retraining the data set according to the new entries (for example, heart rate/speed). Thus, the prediction of linear regression in the present invention is obtained by the following equation:

VO2Max=n ₀+(n ₁ *G)+(n ₂ *S)−(n ₃ *W)−(n ₄*HR)−(n ₅ *A)+(n ₆*HR/S)

where VO2Max is in ml/min/Kg, G refers to gender (0=female and 1=male), S refers to speed in Km/h, W refers to weight in Kg, HR refers to if the heart rate in beats per minute and A refers to age in years, and n₀ to n₆ refer to constant values used for the adjustment (coefficients of linear regression).

The Perceptron multilayer artificial neural network (MLP) 207 works as a non-linear regression model and improves the results since the relationship between VO2Max and the input features are not linear. Due to memory restrictions, the number of hidden layers and neurons to be used is very limited, consequently reducing the MLP's ability to approximate more complex functions.

To deal with this limitation, a simple hierarchical approach of neural networks is used, combining two MLPs, in which each MLP has a hidden layer.

Each MLP has been trained in a specific set of participants with different VO2Max ranges, to simplify the mapping function that the MLP needs to approximate, while helping to avoid overfitting.

Thus, a strategy for making a prediction is defined with a first MLP and based on a verification of the predicted value against a predefined threshold τ (208). Therefore, a new prediction with a second MLP (209) is made to refine the estimate only when necessary. Entries for both MLP are age, gender, height, weight, HR and speed.

Due to an intrinsic behavior of the human cardiovascular system, depending on the environmental and psychological conditions, changes can be registered in the readings of the sensors of the wearable devices causing changes in the heart rate levels even at a constant speed. This can become a problem, since the HR response to speed can be influenced by external factors in some situations in the data set collected for the present invention, and considering that only one submaximal test data was captured for each training, which can lead to data of atypical value.

To deal with this problem, thousands of models are trained by removing a random percentage of participants from the training set at each attempt and trying to choose the model that best fits the validation data set.

The first MLP of the final architecture, used as an example in the present invention, includes a hidden layer with two neurons that has been trained with subjects that have VO2Max less than τ+tolerância. If the VO2Max prediction of the first MLP is greater than τ, the prediction is given by a second MLP containing a hidden layer with four neurons and trained with participants who have VO2Max greater than τ−tolerância.

The solution proposed in the innovation allows forecasts with other machine learning models, but due to memory restrictions, only the combination using linear regression and MLP is presented.

With the predictions of each machine learning model and the prediction of previous exercises (when available), a weighted average of 210 is performed to merge the predictions.

First, the prediction of linear regression and MLP are combined for each stable region of n-seconds, where the average of their predictions is made as follows:

${{VO}_{2}{Max}_{\tau}^{\prime}} = \frac{\left( {{{VO}_{2}{Max}_{LR}} + {{VO}_{2}{Max}_{MLP}}} \right)}{2}$

where VO₂Max_(τ)′ is the fused prediction for the τ window, VO₂Max_(LR) is the prediction of linear regression and it is the prediction of MLP.

After that, a peso_(τ) related to the confidence of this region is reached based on the percentage of theoretical maximum heart rate (pHR) as follows:

${pHR} = \frac{\overset{\_}{HR}}{{211} - {{0.6}4*{Idade}}}$

where HR is the average of heart rate readings in a n-second window and the denominator is an estimate of the maximum heart rate according to age.

The use of a base parameter to assign weights to each prediction is based on a correlation analysis of some features in relation to the algorithm error; higher values of pHR had a correlation with a smaller error.

In a preferred embodiment of the present application, the value attributed to peso_(τ) is shown in Table 1 according to pHR:

% of Maximum Heart Rate (pHR) Weight pHR > 90% 16 80% < pHR < 90% 8 70% < pHR < 80% 4 pHR < 70% 3

Finally, a weighted sum VO₂Max_(τ)′ is made with previous VO2Max forecasts. The last prediction shown to the user (201), when available, has its weight reduced according to the time that the person is not exercising. This reduction factor is linear according to the number of days since the last prediction record. After 30 days without exercising, the value drops to zero. With each new running session, the sum of the weights is readjusted with time decay as follows:

${peso}_{\tau - 1} = {\max\left( {0,{{peso}_{\tau - 1}^{\prime}*\left\lbrack {1 - \frac{{dias}\mspace{14mu}{des}\mspace{14mu} a{\mspace{11mu}\;}{última}\mspace{14mu}{corrida}}{30}} \right\rbrack}} \right)}$

Thus, the weighted sum to obtain VO2Max output per time (211) is:

${{VO}_{2}{Max}_{\tau}} = \frac{{{peso}_{\tau}*{VO}_{2}{Max}_{\tau}^{\prime}} + {{peso}_{\tau - 1}*{VO}_{2}{Max}_{\tau - 1}}}{\left( {{peso}_{\tau} + {peso}_{\tau - 1}} \right)}$

where peso_(τ) is the computed weight for the current stable region, peso_(τ−1)′ is the accumulated weight up to the previous stable region, VO₂Max′_(τ) is the current prediction, and VO₂Max_(τ−1) is the last computed prediction.

It is important to mention that for the next stable region, VO₂Max_(τ) will become VO₂Max_(τ−1). The new value of peso_(τ)′ will be the sum of peso_(τ−1)′ and peso_(τ). In order to prevent the weight value from increasing too much by preventing new forecasts from taking effect, the minimum between the sum of all weights and PesoMax is applied. The equation for updating peso_(τ)′ becomes the following:

peso′_(τ)=min(peso′_(τ−1)+peso_(τ), PesoMax)

where peso′_(τ−1) is the accumulated weight up to the previous stable region and peso_(τ) is the weight adopted for the last VO2Max computation.

FIG. 3 provides additional details on checking stable values. A flag is used to indicate when a stable region starts and ends and then stores the average HR and velocity values with the lowest standard deviation for this region.

Stable regions are regions where the HR does not vary much for a predetermined time, composed of a set of W n-second windows. Thus, the input for the check is the HR data (301) with the standard deviation between the last W time windows.

First, the standard deviation is compared with a predefined threshold β (302). If the standard deviation is less than β, the flag is defined as stable if it has not yet been defined (303), and it is verified if this is the smallest standard deviation for this region (304).

If so, the current values of HR and speed (305) to be used in the next prediction (306) are stored. On the other hand, if the standard deviation is greater than β (302), the status of the stable flag variable is checked and, if not defined, the next HR data is awaited. If the stable variable is enabled, prediction (306) is made and the flag is redefined, indicating the end of the current stable region.

In summary, since the HR standard deviation is below the β threshold, a stable region is initiated. The end of this stable region occurs when the standard deviation of HR becomes greater than the threshold. Within the stable region, the method stores the HR and the speed of the instant that have the smallest standard deviation, which will be used to make the prediction. The prediction is made when the stable region ends. Therefore, the method provides the same number of predictions as the number of stable regions. The main benefit of the stability algorithm to extract features is to maintain a good quality of prediction by using fewer cycles (instead of running all the time), resulting in less energy consumption.

In FIG. 4, an example graph can be seen containing five stable regions during an exercise, highlighting the beginning and end of each region, as well as the most stable point.

Additionally, since VO2Max is a parameter that has a low variance in a short time, if the algorithm calculates forecasts that vary widely, the confidence of the result will decrease. This undesirable behavior can occur not because of an algorithm error, but because of an intrinsic behavior of the heart that, for different environmental conditions (for example, temperature, climate, stress, descent) may show fluctuations in the readings (with the sensors available), and thus can change the value at which the heart rate will stabilize at a constant speed.

In this sense, the algorithm needs some time to obtain a statistically accurate and stable result when in an uncontrolled environment, and that means that when the user runs the first few times, the inputs can compute predictions that vary widely.

To solve this variation problem, a method is proposed that presents the user with a smoother function of the predicted value.

Consider that the steps shown in FIG. 2 are contained in the block (501) represented in FIG. 5. For each new stable region ‘k’, there is an associated prediction P (k) (502), and for each session running ‘x’, there is an associated value presented to user U (x) (503). To define how the value presented to the user is updated, the ‘x+1’ running session has stable ‘n’ regions. Thus, to improve the user experience, the value being displayed to user U (x+1) (504) is updated according to the last user value U (x) (503) and the last prediction of the algorithm P (k+n) (501):

dU=f(U(x), P(k+n))

U(x+1)=dU+U(x)

where f function is defined as a function which follows the relationship:

f(U(x), P(k + n)) = P(k + n) − U(x); and $\frac{{P\left( {k + n} \right)} - {U(x)}}{{{P\left( {k + n} \right)} - {U(x)}}} = \frac{f\left( {{U(x)},{P\left( {k + n} \right)}} \right)}{{f\left( {{U(x)},{P\left( {k + n} \right)}} \right)}}$

A simple example of f can be:

${f\left( {{U(x)},{P\left( {k + n} \right)}} \right)} = \frac{{P\left( {k + n} \right)} - {U(x)}}{2}$

Thus, it becomes possible to control the maximum variance between consecutive VO2Max forecasts shown to the user.

Additionally, the present invention includes at least one example of the numerous possibilities for combining machine learning techniques that can be implemented as an artificial intelligence (AI) module. A function associated with AI can be performed through non-volatile memory, volatile memory and the processor.

The present invention can include a processor or a plurality of processors. In this sense, one or a plurality of processors can be a general-purpose processor, such as a central processing unit (CPU), an application processor (AP), a graphics-only processing unit, such as a graphics processing unit (GPU)), a visual processing unit (VPU) and/or a dedicated AI processor, such as a neural processing unit (NPU).

In addition, processors control the processing of input data according to a predefined operating rule or by an artificial intelligence (AI) model stored in non-volatile and/or volatile memory. The predefined operating rule or artificial intelligence model is provided through training or learning.

In this case, being provided through learning means that, when applying a learning algorithm to a plurality of learning data, a predefined operating rule or AI model of a desired feature is performed. Learning can be performed on a device on which artificial intelligence is performed and/or can be implemented through a separate server/system.

The AI model can include a plurality of layers of neural network, in which each layer has a plurality of weight values and performs a layer operation by means of calculations of a previous layer and an operation using a plurality of weights. Examples of neural networks include, but are not limited to, convolutional neural network (CNN), deep neural network (DNN), recurrent neural network (RNN), restricted Boltzmann machine (RBM), deep belief network (DBN), neural network bidirectional deep recurrent (BRDNN), generative adversarial networks (GAN) and deep Q networks.

The learning algorithm is a technique for training a predetermined target device (for example, a robot) using a plurality of learning data to cause, allow or control the target device to make a determination or prediction. Examples of learning algorithms include, but are not limited to, supervised learning, unsupervised learning, semi-supervised learning or reinforcement learning.

Although the present invention has been described in connection with certain preferred embodiments, it should be understood that it is not intended to limit disclosure to those particular embodiments. Instead, it is intended to cover all possible alternatives, modifications and equivalents within the spirit and scope of the invention, as defined by the appended claims. 

1. A method for predicting maximal oxygen uptake in wearable devices, comprising: receiving information of user profile; capturing temporal inputs including heart rate and speed readings; split temporal inputs into n-second time windows; and processing those time entries using the feature extraction module, which includes: identifying points where heart rate and speed signals are stable, where signal stability is calculated by using a threshold on the standard deviation of a signal sampled at 1 Hz; calculating the standard deviation of a temporal signal with a moving average x _(A→A+M), which is an average of the temporal signal with a sliding window of M seconds with a stride of N seconds; calculating the moving average by storing M/N variables; calculating the standard deviation of the temporal signal with a sliding window of M seconds with a stride of N seconds starting at a second A; calculating the moving standard deviation by storing 2*M/N variables; making a prediction by combining two or more multilayer Perceptron artificial neural networks (MLP), with each MLP containing a hidden layer, where the prediction is based on a verification of a predicted value against a predefined threshold τ according to the range of tolerance values for each MLP; fusing the linear regression and MLP prediction for each n-second stable region as follows: ${{VO}_{2}{Max}_{\tau}^{\prime}} = \frac{\left( {{{VO}_{2}{Max}_{LR}} + {{VO}_{2}{Max}_{MLP}}} \right)}{2}$ where VO₂Max_(τ)′ is the fused prediction for the window τ, VO₂Max_(LR) is the prediction of linear regression and VO₂Max_(MLP) is the prediction of MLP; calculating the percentage of theoretical maximum heart rate (pHR): ${pHR} = \frac{\overset{\_}{HR}}{{211} - {{0.6}4*{Age}}}$ where HR is an average of heart rate readings in a n-second window and the denominator is an estimation of a maximum heart rate according to the age; assigning one weight, according to the percentage of theoretical maximum heart rate (pHR); where new weight for a last prediction shown to the user is: ${weight}_{\tau - 1} = {\max\left( {0,{{weight}_{\tau - 1}^{\prime}*\left\lbrack {1 - \frac{{days}\mspace{14mu}{since}\mspace{14mu}{the}\mspace{14mu}{last}\mspace{14mu}{prediction}}{30}} \right\rbrack}} \right)}$ performing a weighted sum VO₂Max_(τ)′ with previous VO₂Max predictions to obtain VO₂Max output per time: ${{VO}_{2}{Max}_{\tau}} = \frac{{{weight}_{\tau}*{VO}_{2}{Max}_{\tau}^{\prime}} + {{weight}_{\tau - 1}*{VO}_{2}{Max}_{\tau - 1}}}{\left( {{weight}_{\tau} + {weight}_{\tau - 1}} \right)}$ where weight_(τ) is a computed weight for a current stable region, weight_(τ−1) is a cumulative weight until the previous stable region, VO₂Max′_(τ) is a current prediction, and VO₂Max_(τ−1) is a last computed prediction.
 2. The method according to claim 1, wherein the profile information includes age, gender, height and weight of the user.
 3. The method according to claim 1, wherein, two temporal inputs composed of the heart rate and speed readings are split into n-second time windows without overlap.
 4. The method according to claim 1, further comprising: waiting for temporal data of a next n-second window when the heart rate and speed signals are unstable (standard deviation above the pre-defined threshold).
 5. The method according to claim 1, wherein performing the prediction of maximal oxygen uptake (VO₂Max), follows the relation: VO2Max=n ₀+(n ₁ *G)+(n ₂ *S)−(n ₃ *W)−(n ₄*HR)−(n₅ *A)+(n ₆*HR/S) where VO₂Max in ml/min/Kg, G refers to gender (0=female and 1=male), S refers to speed in Km/h, W refers to weight in Kg, HR refers to heart rate in beats per minute, A refers to age in years and n₀ to n₆ referring to constant values used for the adjustment.
 6. The method according to claim 1, wherein a first MLP includes a hidden layer with two neurons that has been trained with individuals who have VO₂Max less than τ+tolerance.
 7. The method according to claim 1, wherein provided a result of the first MLP is greater than τ, the prediction is given by a second MLP.
 8. The method according to claim 1, wherein a second MLP includes a hidden layer with two neurons that trained with subjects that have VO₂Max greater than τ+tolerance.
 9. The method according to claim 1, further comprising: updating the weight_(τ)′ value by considering the minimum between the sum of the accumulated weight plus the weight adopted for the last computation and the MaxWeight: weight′_(τ)=min(weight′_(τ−1)+weight_(τ), MaxWeight) where weight′_(τ−1) is the accumulated weight up to the previous stable region and weight_(τ) is the weight adopted for the last VO₂Max computation.
 10. The method according to claim 1, wherein value displayed to user U (x+1) is updated according to the last value displayed to user U (x) and the last prediction of the P (k+n) algorithm, where: dU=f(U(x), P(k+n)) U(x+1)=dU+U(x) Where the function f is defined as a function that follows the relations: $\begin{matrix} {{{{{f\left( {{U(x)},{P\left( {k + n} \right)}} \right)}} \leq {{{P\left( {k + n} \right)} - {U(x)}}}};{and}}{\frac{{P\left( {k + n} \right)} - {U(x)}}{{{P\left( {k + n} \right)} - {U(x)}}} = {\frac{f\left( {{U(x)}{P\left( {k + n} \right)}} \right)}{{f\left( {{U(x)}{P\left( {k + n} \right)}} \right)}}.}}} & \; \end{matrix}$ 